-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixed templatizing of Forms and Workflows #1468
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #1468 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 150 149 -1
Lines 8399 8394 -5
Branches 1951 1950 -1
=========================================
- Hits 8399 8394 -5 ☔ View full report in Codecov by Sentry. |
@MikeTschudi, i understood most of what was described here with the exception of above. Could you elaborate on this? |
I needed to have a list of item ids that were in the Solution being created so that I could templatize only those ids in Form data (rather than templatizing everything that matches an ArcGIS id pattern). I also needed to know the item type so that I could handle Feature Service URLs (vs. simply templatizing ids). We currently store some ids in the dictionary, but not all. And the value is an id; replacing it with a structure that included the type and, for Feature Services, the URL broke things in more places than it was worth. Instead, for each item added to a Solution, I create a dictionary entry in the form During Form post-processing, which occurs after all items have been added to the Solution, I extract the |
Thanks Mike, I just want to make sure we are not doing something too special for Forms. I believe we have and use this kind of logic on a lot of other item types. For example, I know in Web Maps and Dashboards we do a post process to find references to item ids and feature service urls that might in the data json, but were not explicitly found in our logic to search for dependencies. For example, references in arcade expressions. My point is this is good logic for all item types, a post process that handles finding item id or feature service url references in items that are apart of the same solution. Our auto discovering of dependencies logic is nice and works well for a lot of item types, but items continue to get more complex and references between items get harder to always account for. This post process logic has seemed to be very safe and reliable for finding and swapping out these references with variables. |
workflowBaseUrl
is the base path for queries to the Workflow server. For example, to test if Workflow is authorized, one callsconst url = `${workflowBaseUrl}/checkStatus`;
. In addition, the templatized symbol for a Workflow URL is{{workflowBaseUrl}}
to be consistent.workflowServerUrl
is a URL returned by AGO or Enterprise helper services. It is converted into aworkflowBaseUrl
in one of two ways:`${workflowServerUrl}/${orgId}`
${workflowServerUrl}/workflow
*.info
,*.itemInfo
,*.json
,*.webform
,*.xml
. For each, the contents of the templateDictionary are used to templatizegetWorkflowManagerUrlRoot
in the common package was removed because it contributed to the Workflow URL confusion. Its capabilities have been incorporated into functiongetWorkflowBaseURL
.The changes are breaking for the deployment app because of function argument changes.